<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/linux/huge_mm.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/linux/huge_mm.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0xJTlVYX0hVR0VfTU1fSF8w"><span class="b">_LINUX_HUGE_MM_H</span></a>
<a name="2" /><span class="True">       2:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0xJTlVYX0hVR0VfTU1fSF8w"><span class="b">_LINUX_HUGE_MM_H</span></a>
<a name="3" /><span class="True">       3:</span> 
<a name="4" /><span class="True">       4:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">do_huge_pmd_anonymous_page</span><span class="f">(</span><span class="m">struct</span> <span class="b">mm_struct</span> <span class="f">*</span><span class="b">mm</span><span class="f">,</span>
<a name="5" /><span class="True">       5:</span>                       <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="6" /><span class="True">       6:</span>                       <span class="m">unsigned</span> <span class="m">long</span> <span class="b">address</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">,</span>
<a name="7" /><span class="True">       7:</span>                       <span class="m">unsigned</span> <span class="m">int</span> <span class="b">flags</span><span class="f">)</span><span class="f">;</span>
<a name="8" /><span class="True">       8:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">copy_huge_pmd</span><span class="f">(</span><span class="m">struct</span> <span class="b">mm_struct</span> <span class="f">*</span><span class="b">dst_mm</span><span class="f">,</span> <span class="m">struct</span> <span class="b">mm_struct</span> <span class="f">*</span><span class="b">src_mm</span><span class="f">,</span>
<a name="9" /><span class="True">       9:</span>              <span class="b">pmd_t</span> <span class="f">*</span><span class="b">dst_pmd</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">src_pmd</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">addr</span><span class="f">,</span>
<a name="10" /><span class="True">      10:</span>              <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">)</span><span class="f">;</span>
<a name="11" /><span class="True">      11:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">huge_pmd_set_accessed</span><span class="f">(</span><span class="m">struct</span> <span class="b">mm_struct</span> <span class="f">*</span><span class="b">mm</span><span class="f">,</span>
<a name="12" /><span class="True">      12:</span>                   <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="13" /><span class="True">      13:</span>                   <span class="m">unsigned</span> <span class="m">long</span> <span class="b">address</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">,</span>
<a name="14" /><span class="True">      14:</span>                   <span class="b">pmd_t</span> <span class="b">orig_pmd</span><span class="f">,</span> <span class="m">int</span> <span class="b">dirty</span><span class="f">)</span><span class="f">;</span>
<a name="15" /><span class="True">      15:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">do_huge_pmd_wp_page</span><span class="f">(</span><span class="m">struct</span> <span class="b">mm_struct</span> <span class="f">*</span><span class="b">mm</span><span class="f">,</span> <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="16" /><span class="True">      16:</span>                    <span class="m">unsigned</span> <span class="m">long</span> <span class="b">address</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">,</span>
<a name="17" /><span class="True">      17:</span>                    <span class="b">pmd_t</span> <span class="b">orig_pmd</span><span class="f">)</span><span class="f">;</span>
<a name="18" /><span class="True">      18:</span> <span class="m">extern</span> <span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">follow_trans_huge_pmd</span><span class="f">(</span><span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="19" /><span class="True">      19:</span>                       <span class="m">unsigned</span> <span class="m">long</span> <span class="b">addr</span><span class="f">,</span>
<a name="20" /><span class="True">      20:</span>                       <span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">,</span>
<a name="21" /><span class="True">      21:</span>                       <span class="m">unsigned</span> <span class="m">int</span> <span class="b">flags</span><span class="f">)</span><span class="f">;</span>
<a name="22" /><span class="True">      22:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">zap_huge_pmd</span><span class="f">(</span><span class="m">struct</span> <span class="b">mmu_gather</span> <span class="f">*</span><span class="b">tlb</span><span class="f">,</span>
<a name="23" /><span class="True">      23:</span>             <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="24" /><span class="True">      24:</span>             <span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">addr</span><span class="f">)</span><span class="f">;</span>
<a name="25" /><span class="True">      25:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">mincore_huge_pmd</span><span class="f">(</span><span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">,</span>
<a name="26" /><span class="True">      26:</span>             <span class="m">unsigned</span> <span class="m">long</span> <span class="b">addr</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">end</span><span class="f">,</span>
<a name="27" /><span class="True">      27:</span>             <span class="m">unsigned</span> <span class="m">char</span> <span class="f">*</span><span class="b">vec</span><span class="f">)</span><span class="f">;</span>
<a name="28" /><span class="True">      28:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">move_huge_pmd</span><span class="f">(</span><span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="29" /><span class="True">      29:</span>              <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">new_vma</span><span class="f">,</span>
<a name="30" /><span class="True">      30:</span>              <span class="m">unsigned</span> <span class="m">long</span> <span class="b">old_addr</span><span class="f">,</span>
<a name="31" /><span class="True">      31:</span>              <span class="m">unsigned</span> <span class="m">long</span> <span class="b">new_addr</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">old_end</span><span class="f">,</span>
<a name="32" /><span class="True">      32:</span>              <span class="b">pmd_t</span> <span class="f">*</span><span class="b">old_pmd</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">new_pmd</span><span class="f">)</span><span class="f">;</span>
<a name="33" /><span class="True">      33:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">change_huge_pmd</span><span class="f">(</span><span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">,</span>
<a name="34" /><span class="True">      34:</span>             <span class="m">unsigned</span> <span class="m">long</span> <span class="b">addr</span><span class="f">,</span> <span class="b">pgprot_t</span> <span class="b">newprot</span><span class="f">,</span>
<a name="35" /><span class="True">      35:</span>             <span class="m">int</span> <span class="b">prot_numa</span><span class="f">)</span><span class="f">;</span>
<a name="36" /><span class="True">      36:</span> 
<a name="37" /><span class="True">      37:</span> <span class="m">enum</span> <span class="b">transparent_hugepage_flag</span> <span class="f">{</span>
<a name="38" /><span class="True">      38:</span>     <span class="b">TRANSPARENT_HUGEPAGE_FLAG</span><span class="f">,</span>
<a name="39" /><span class="True">      39:</span>     <span class="b">TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG</span><span class="f">,</span>
<a name="40" /><span class="True">      40:</span>     <span class="b">TRANSPARENT_HUGEPAGE_DEFRAG_FLAG</span><span class="f">,</span>
<a name="41" /><span class="True">      41:</span>     <span class="b">TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG</span><span class="f">,</span>
<a name="42" /><span class="True">      42:</span>     <span class="b">TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG</span><span class="f">,</span>
<a name="43" /><span class="True">      43:</span>     <span class="b">TRANSPARENT_HUGEPAGE_USE_ZERO_PAGE_FLAG</span><span class="f">,</span>
<a name="44" /><span class="False">      44:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">CONFIG_DEBUG_VM</span>
<a name="45" /><span class="False">      45:</span>     <span class="b">TRANSPARENT_HUGEPAGE_DEBUG_COW_FLAG</span><span class="f">,</span>
<a name="46" /><span class="True">      46:</span> <span class="f">#</span><span class="n">endif</span>
<a name="47" /><span class="True">      47:</span> <span class="f">}</span><span class="f">;</span>
<a name="48" /><span class="True">      48:</span> 
<a name="49" /><span class="True">      49:</span> <span class="m">enum</span> <span class="b">page_check_address_pmd_flag</span> <span class="f">{</span>
<a name="50" /><span class="True">      50:</span>     <span class="b">PAGE_CHECK_ADDRESS_PMD_FLAG</span><span class="f">,</span>
<a name="51" /><span class="True">      51:</span>     <span class="b">PAGE_CHECK_ADDRESS_PMD_NOTSPLITTING_FLAG</span><span class="f">,</span>
<a name="52" /><span class="True">      52:</span>     <span class="b">PAGE_CHECK_ADDRESS_PMD_SPLITTING_FLAG</span><span class="f">,</span>
<a name="53" /><span class="True">      53:</span> <span class="f">}</span><span class="f">;</span>
<a name="54" /><span class="True">      54:</span> <span class="m">extern</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">page_check_address_pmd</span><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">page</span><span class="f">,</span>
<a name="55" /><span class="True">      55:</span>                      <span class="m">struct</span> <span class="b">mm_struct</span> <span class="f">*</span><span class="b">mm</span><span class="f">,</span>
<a name="56" /><span class="True">      56:</span>                      <span class="m">unsigned</span> <span class="m">long</span> <span class="b">address</span><span class="f">,</span>
<a name="57" /><span class="True">      57:</span>                      <span class="m">enum</span> <span class="b">page_check_address_pmd_flag</span> <span class="b">flag</span><span class="f">,</span>
<a name="58" /><span class="True">      58:</span>                      <span class="b">spinlock_t</span> <span class="f">*</span><span class="f">*</span><span class="b">ptl</span><span class="f">)</span><span class="f">;</span>
<a name="59" /><span class="True">      59:</span> 
<a name="60" /><span class="True">      60:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_SFBBR0VfUE1EX09SREVSXzA_"><span class="b">HPAGE_PMD_ORDER</span></a> <span class="f">(</span><a href="cpu.c_macros_noref.html#_SFBBR0VfUE1EX1NISUZUXzA_"><span class="b">HPAGE_PMD_SHIFT</span></a><span class="f">-</span><a href="cpu.c_macros_ref.html#_UEFHRV9TSElGVF8w"><span class="b">PAGE_SHIFT</span></a><span class="f">)</span>
<a name="61" /><span class="True">      61:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SFBBR0VfUE1EX05SXzA_"><span class="b">HPAGE_PMD_NR</span></a> <span class="f">(</span><span class="c">1</span><span class="f">&lt;&lt;</span><a href="cpu.c_macros_ref.html#_SFBBR0VfUE1EX09SREVSXzA_"><span class="b">HPAGE_PMD_ORDER</span></a><span class="f">)</span>
<a name="62" /><span class="True">      62:</span> 
<a name="63" /><span class="False">      63:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">CONFIG_TRANSPARENT_HUGEPAGE</span>
<a name="64" /><span class="False">      64:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SFBBR0VfUE1EX1NISUZUXzA_"><span class="b">HPAGE_PMD_SHIFT</span></a> <a href="cpu.c_macros_ref.html#_UE1EX1NISUZUXzA_"><span class="b">PMD_SHIFT</span></a>
<a name="65" /><span class="False">      65:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SFBBR0VfUE1EX1NJWkVfMA__"><span class="b">HPAGE_PMD_SIZE</span></a>    <span class="f">(</span><span class="f">(</span><span class="c">1UL</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_SFBBR0VfUE1EX1NISUZUXzA_"><span class="b">HPAGE_PMD_SHIFT</span></a><span class="f">)</span>
<a name="66" /><span class="False">      66:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SFBBR0VfUE1EX01BU0tfMA__"><span class="b">HPAGE_PMD_MASK</span></a>    <span class="f">(</span><span class="f">~</span><span class="f">(</span><a href="cpu.c_macros_noref.html#_SFBBR0VfUE1EX1NJWkVfMA__"><span class="b">HPAGE_PMD_SIZE</span></a> <span class="f">-</span> <span class="c">1</span><span class="f">)</span><span class="f">)</span>
<a name="67" /><span class="False">      67:</span> 
<a name="68" /><span class="False">      68:</span> <span class="m">extern</span> <span class="m">bool</span> <span class="b">is_vma_temporary_stack</span><span class="f">(</span><span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">)</span><span class="f">;</span>
<a name="69" /><span class="False">      69:</span> 
<a name="70" /><span class="False">      70:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_dHJhbnNwYXJlbnRfaHVnZXBhZ2VfZW5hYmxlZF8w"><span class="b">transparent_hugepage_enabled</span></a><span class="f">(</span><span class="b">__vma</span><span class="f">)</span>                \
<a name="71" /><span class="False">      71:</span>     <span class="f">(</span><span class="f">(</span><a href="cpu.c_macros_noref.html#_dHJhbnNwYXJlbnRfaHVnZXBhZ2VfZmxhZ3NfMA__"><span class="b">transparent_hugepage_flags</span></a> <span class="f">&amp;</span>                    \
<a name="72" /><span class="False">      72:</span>       <span class="f">(</span><span class="c">1</span><span class="f">&lt;&lt;</span><span class="b">TRANSPARENT_HUGEPAGE_FLAG</span><span class="f">)</span> <span class="f">||</span>                \
<a name="73" /><span class="False">      73:</span>       <span class="f">(</span><a href="cpu.c_macros_noref.html#_dHJhbnNwYXJlbnRfaHVnZXBhZ2VfZmxhZ3NfMA__"><span class="b">transparent_hugepage_flags</span></a> <span class="f">&amp;</span>                    \
<a name="74" /><span class="False">      74:</span>        <span class="f">(</span><span class="c">1</span><span class="f">&lt;&lt;</span><span class="b">TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG</span><span class="f">)</span> <span class="f">&amp;&amp;</span>            \
<a name="75" /><span class="False">      75:</span>        <span class="f">(</span><span class="f">(</span><span class="b">__vma</span><span class="f">)</span><span class="f">-&gt;</span><span class="b">vm_flags</span> <span class="f">&amp;</span> <a href="cpu.c_macros_noref.html#_Vk1fSFVHRVBBR0VfMA__"><span class="b">VM_HUGEPAGE</span></a><span class="f">)</span><span class="f">)</span><span class="f">)</span> <span class="f">&amp;&amp;</span>            \
<a name="76" /><span class="False">      76:</span>      <span class="f">!</span><span class="f">(</span><span class="f">(</span><span class="b">__vma</span><span class="f">)</span><span class="f">-&gt;</span><span class="b">vm_flags</span> <span class="f">&amp;</span> <a href="cpu.c_macros_noref.html#_Vk1fTk9IVUdFUEFHRV8w"><span class="b">VM_NOHUGEPAGE</span></a><span class="f">)</span> <span class="f">&amp;&amp;</span>            \
<a name="77" /><span class="False">      77:</span>      <span class="f">!</span><span class="b">is_vma_temporary_stack</span><span class="f">(</span><span class="b">__vma</span><span class="f">)</span><span class="f">)</span>
<a name="78" /><span class="False">      78:</span> <span class="f">#</span><span class="n">define</span> <span class="b">transparent_hugepage_defrag</span><span class="f">(</span><span class="b">__vma</span><span class="f">)</span>                \
<a name="79" /><span class="False">      79:</span>     <span class="f">(</span><span class="f">(</span><a href="cpu.c_macros_noref.html#_dHJhbnNwYXJlbnRfaHVnZXBhZ2VfZmxhZ3NfMA__"><span class="b">transparent_hugepage_flags</span></a> <span class="f">&amp;</span>                    \
<a name="80" /><span class="False">      80:</span>       <span class="f">(</span><span class="c">1</span><span class="f">&lt;&lt;</span><span class="b">TRANSPARENT_HUGEPAGE_DEFRAG_FLAG</span><span class="f">)</span><span class="f">)</span> <span class="f">||</span>            \
<a name="81" /><span class="False">      81:</span>      <span class="f">(</span><a href="cpu.c_macros_noref.html#_dHJhbnNwYXJlbnRfaHVnZXBhZ2VfZmxhZ3NfMA__"><span class="b">transparent_hugepage_flags</span></a> <span class="f">&amp;</span>                    \
<a name="82" /><span class="False">      82:</span>       <span class="f">(</span><span class="c">1</span><span class="f">&lt;&lt;</span><span class="b">TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG</span><span class="f">)</span> <span class="f">&amp;&amp;</span>        \
<a name="83" /><span class="False">      83:</span>       <span class="f">(</span><span class="b">__vma</span><span class="f">)</span><span class="f">-&gt;</span><span class="b">vm_flags</span> <span class="f">&amp;</span> <a href="cpu.c_macros_noref.html#_Vk1fSFVHRVBBR0VfMA__"><span class="b">VM_HUGEPAGE</span></a><span class="f">)</span><span class="f">)</span>
<a name="84" /><span class="False">      84:</span> <span class="f">#</span><span class="n">define</span> <span class="b">transparent_hugepage_use_zero_page</span><span class="f">(</span><span class="f">)</span>                \
<a name="85" /><span class="False">      85:</span>     <span class="f">(</span><a href="cpu.c_macros_noref.html#_dHJhbnNwYXJlbnRfaHVnZXBhZ2VfZmxhZ3NfMA__"><span class="b">transparent_hugepage_flags</span></a> <span class="f">&amp;</span>                    \
<a name="86" /><span class="False">      86:</span>      <span class="f">(</span><span class="c">1</span><span class="f">&lt;&lt;</span><span class="b">TRANSPARENT_HUGEPAGE_USE_ZERO_PAGE_FLAG</span><span class="f">)</span><span class="f">)</span>
<a name="87" /><span class="False">      87:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">CONFIG_DEBUG_VM</span>
<a name="88" /><span class="False">      88:</span> <span class="f">#</span><span class="n">define</span> <span class="b">transparent_hugepage_debug_cow</span><span class="f">(</span><span class="f">)</span>                \
<a name="89" /><span class="False">      89:</span>     <span class="f">(</span><a href="cpu.c_macros_noref.html#_dHJhbnNwYXJlbnRfaHVnZXBhZ2VfZmxhZ3NfMA__"><span class="b">transparent_hugepage_flags</span></a> <span class="f">&amp;</span>                    \
<a name="90" /><span class="False">      90:</span>      <span class="f">(</span><span class="c">1</span><span class="f">&lt;&lt;</span><span class="b">TRANSPARENT_HUGEPAGE_DEBUG_COW_FLAG</span><span class="f">)</span><span class="f">)</span>
<a name="91" /><span class="False">      91:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* CONFIG_DEBUG_VM */</span>
<a name="92" /><span class="False">      92:</span> <span class="f">#</span><span class="n">define</span> <span class="b">transparent_hugepage_debug_cow</span><span class="f">(</span><span class="f">)</span> <span class="c">0</span>
<a name="93" /><span class="False">      93:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* CONFIG_DEBUG_VM */</span>
<a name="94" /><span class="False">      94:</span> 
<a name="95" /><span class="False">      95:</span> <span class="m">extern</span> <span class="m">unsigned</span> <span class="m">long</span> <a href="cpu.c_macros_noref.html#_dHJhbnNwYXJlbnRfaHVnZXBhZ2VfZmxhZ3NfMA__"><span class="b">transparent_hugepage_flags</span></a><span class="f">;</span>
<a name="96" /><span class="False">      96:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">copy_pte_range</span><span class="f">(</span><span class="m">struct</span> <span class="b">mm_struct</span> <span class="f">*</span><span class="b">dst_mm</span><span class="f">,</span> <span class="m">struct</span> <span class="b">mm_struct</span> <span class="f">*</span><span class="b">src_mm</span><span class="f">,</span>
<a name="97" /><span class="False">      97:</span>               <span class="b">pmd_t</span> <span class="f">*</span><span class="b">dst_pmd</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">src_pmd</span><span class="f">,</span>
<a name="98" /><span class="False">      98:</span>               <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="99" /><span class="False">      99:</span>               <span class="m">unsigned</span> <span class="m">long</span> <span class="b">addr</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">end</span><span class="f">)</span><span class="f">;</span>
<a name="100" /><span class="False">     100:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">split_huge_page_to_list</span><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">page</span><span class="f">,</span> <span class="m">struct</span> <span class="b">list_head</span> <span class="f">*</span><span class="b">list</span><span class="f">)</span><span class="f">;</span>
<a name="101" /><span class="False">     101:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <span class="b">split_huge_page</span><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">page</span><span class="f">)</span>
<a name="102" /><span class="False">     102:</span> <span class="f">{</span>
<a name="103" /><span class="False">     103:</span>     <span class="m">return</span> <span class="b">split_huge_page_to_list</span><span class="f">(</span><span class="b">page</span><span class="f">,</span> <a href="cpu.c_macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">)</span><span class="f">;</span>
<a name="104" /><span class="False">     104:</span> <span class="f">}</span>
<a name="105" /><span class="False">     105:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">__split_huge_page_pmd</span><span class="f">(</span><span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="106" /><span class="False">     106:</span>         <span class="m">unsigned</span> <span class="m">long</span> <span class="b">address</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">)</span><span class="f">;</span>
<a name="107" /><span class="False">     107:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_c3BsaXRfaHVnZV9wYWdlX3BtZF8w"><span class="b">split_huge_page_pmd</span></a><span class="f">(</span><span class="b">__vma</span><span class="f">,</span> <span class="b">__address</span><span class="f">,</span> <a href="cpu.c_macros_ref.html#_X19wbWRfMA__"><span class="b">__pmd</span></a><span class="f">)</span>            \
<a name="108" /><span class="False">     108:</span>     <span class="m">do</span> <span class="f">{</span>                                \
<a name="109" /><span class="False">     109:</span>         <span class="b">pmd_t</span> <span class="f">*</span><span class="b">____pmd</span> <span class="f">=</span> <span class="f">(</span><a href="cpu.c_macros_ref.html#_X19wbWRfMA__"><span class="b">__pmd</span></a><span class="f">)</span><span class="f">;</span>                \
<a name="110" /><span class="False">     110:</span>         <span class="m">if</span> <span class="f">(</span><a href="cpu.c_macros_ref.html#_dW5saWtlbHlfMA__"><span class="b">unlikely</span></a><span class="f">(</span><span class="b">pmd_trans_huge</span><span class="f">(</span><span class="f">*</span><span class="b">____pmd</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>            \
<a name="111" /><span class="False">     111:</span>             <span class="b">__split_huge_page_pmd</span><span class="f">(</span><span class="b">__vma</span><span class="f">,</span> <span class="b">__address</span><span class="f">,</span>        \
<a name="112" /><span class="False">     112:</span>                     <span class="b">____pmd</span><span class="f">)</span><span class="f">;</span>            \
<a name="113" /><span class="False">     113:</span>     <span class="f">}</span>  <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="114" /><span class="False">     114:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_d2FpdF9zcGxpdF9odWdlX3BhZ2VfMA__"><span class="b">wait_split_huge_page</span></a><span class="f">(</span><span class="b">__anon_vma</span><span class="f">,</span> <a href="cpu.c_macros_ref.html#_X19wbWRfMA__"><span class="b">__pmd</span></a><span class="f">)</span>                \
<a name="115" /><span class="False">     115:</span>     <span class="m">do</span> <span class="f">{</span>                                \
<a name="116" /><span class="False">     116:</span>         <span class="b">pmd_t</span> <span class="f">*</span><span class="b">____pmd</span> <span class="f">=</span> <span class="f">(</span><a href="cpu.c_macros_ref.html#_X19wbWRfMA__"><span class="b">__pmd</span></a><span class="f">)</span><span class="f">;</span>                \
<a name="117" /><span class="False">     117:</span>         <span class="b">anon_vma_lock_write</span><span class="f">(</span><span class="b">__anon_vma</span><span class="f">)</span><span class="f">;</span>            \
<a name="118" /><span class="False">     118:</span>         <span class="b">anon_vma_unlock_write</span><span class="f">(</span><span class="b">__anon_vma</span><span class="f">)</span><span class="f">;</span>            \
<a name="119" /><span class="False">     119:</span>         <a href="cpu.c_macros_ref.html#_QlVHX09OXzA_"><span class="b">BUG_ON</span></a><span class="f">(</span><span class="b">pmd_trans_splitting</span><span class="f">(</span><span class="f">*</span><span class="b">____pmd</span><span class="f">)</span> <span class="f">||</span>            \
<a name="120" /><span class="False">     120:</span>                <span class="b">pmd_trans_huge</span><span class="f">(</span><span class="f">*</span><span class="b">____pmd</span><span class="f">)</span><span class="f">)</span><span class="f">;</span>            \
<a name="121" /><span class="False">     121:</span>     <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="122" /><span class="False">     122:</span> <span class="m">extern</span> <span class="m">void</span> <a href="cpu.c_macros_noref.html#_c3BsaXRfaHVnZV9wYWdlX3BtZF9tbV8w"><span class="b">split_huge_page_pmd_mm</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">mm_struct</span> <span class="f">*</span><span class="b">mm</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">address</span><span class="f">,</span>
<a name="123" /><span class="False">     123:</span>         <span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">)</span><span class="f">;</span>
<a name="124" /><span class="False">     124:</span> <span class="f">#</span><span class="n">if</span> <a href="cpu.c_macros_ref.html#_SFBBR0VfUE1EX09SREVSXzA_"><span class="b">HPAGE_PMD_ORDER</span></a> <span class="f">&gt;=</span> <a href="cpu.c_macros_ref.html#_TUFYX09SREVSXzA_"><span class="b">MAX_ORDER</span></a>
<a name="125" /><span class="False">     125:</span> <span class="f">#</span><span class="n">error</span> <span class="e">&quot;hugepages can&apos;t be allocated by the buddy allocator&quot;</span>
<a name="126" /><span class="False">     126:</span> <span class="f">#</span><span class="n">endif</span>
<a name="127" /><span class="False">     127:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">hugepage_madvise</span><span class="f">(</span><span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="128" /><span class="False">     128:</span>                 <span class="m">unsigned</span> <span class="m">long</span> <span class="f">*</span><span class="b">vm_flags</span><span class="f">,</span> <span class="m">int</span> <span class="b">advice</span><span class="f">)</span><span class="f">;</span>
<a name="129" /><span class="False">     129:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">__vma_adjust_trans_huge</span><span class="f">(</span><span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="130" /><span class="False">     130:</span>                     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">start</span><span class="f">,</span>
<a name="131" /><span class="False">     131:</span>                     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">end</span><span class="f">,</span>
<a name="132" /><span class="False">     132:</span>                     <span class="m">long</span> <span class="b">adjust_next</span><span class="f">)</span><span class="f">;</span>
<a name="133" /><span class="False">     133:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__pmd_trans_huge_lock</span><span class="f">(</span><span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">,</span> <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="134" /><span class="False">     134:</span>         <span class="b">spinlock_t</span> <span class="f">*</span><span class="f">*</span><span class="b">ptl</span><span class="f">)</span><span class="f">;</span>
<a name="135" /><span class="False">     135:</span> <span class="k">/* mmap_sem must be held on entry */</span>
<a name="136" /><span class="False">     136:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <span class="b">pmd_trans_huge_lock</span><span class="f">(</span><span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">,</span> <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="137" /><span class="False">     137:</span>         <span class="b">spinlock_t</span> <span class="f">*</span><span class="f">*</span><span class="b">ptl</span><span class="f">)</span>
<a name="138" /><span class="False">     138:</span> <span class="f">{</span>
<a name="139" /><span class="False">     139:</span>     <a href="cpu.c_macros_ref.html#_Vk1fQlVHX09OXzA_"><span class="b">VM_BUG_ON</span></a><span class="f">(</span><span class="f">!</span><span class="b">rwsem_is_locked</span><span class="f">(</span><span class="f">&amp;</span><span class="b">vma</span><span class="f">-&gt;</span><span class="b">vm_mm</span><span class="f">-&gt;</span><span class="b">mmap_sem</span><span class="f">)</span><span class="f">)</span><span class="f">;</span>
<a name="140" /><span class="False">     140:</span>     <span class="m">if</span> <span class="f">(</span><span class="b">pmd_trans_huge</span><span class="f">(</span><span class="f">*</span><span class="b">pmd</span><span class="f">)</span><span class="f">)</span>
<a name="141" /><span class="False">     141:</span>         <span class="m">return</span> <span class="b">__pmd_trans_huge_lock</span><span class="f">(</span><span class="b">pmd</span><span class="f">,</span> <span class="b">vma</span><span class="f">,</span> <span class="b">ptl</span><span class="f">)</span><span class="f">;</span>
<a name="142" /><span class="False">     142:</span>     <span class="m">else</span>
<a name="143" /><span class="False">     143:</span>         <span class="m">return</span> <span class="c">0</span><span class="f">;</span>
<a name="144" /><span class="False">     144:</span> <span class="f">}</span>
<a name="145" /><span class="False">     145:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">vma_adjust_trans_huge</span><span class="f">(</span><span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="146" /><span class="False">     146:</span>                      <span class="m">unsigned</span> <span class="m">long</span> <span class="b">start</span><span class="f">,</span>
<a name="147" /><span class="False">     147:</span>                      <span class="m">unsigned</span> <span class="m">long</span> <span class="b">end</span><span class="f">,</span>
<a name="148" /><span class="False">     148:</span>                      <span class="m">long</span> <span class="b">adjust_next</span><span class="f">)</span>
<a name="149" /><span class="False">     149:</span> <span class="f">{</span>
<a name="150" /><span class="False">     150:</span>     <span class="m">if</span> <span class="f">(</span><span class="f">!</span><span class="b">vma</span><span class="f">-&gt;</span><span class="b">anon_vma</span> <span class="f">||</span> <span class="b">vma</span><span class="f">-&gt;</span><span class="b">vm_ops</span><span class="f">)</span>
<a name="151" /><span class="False">     151:</span>         <span class="m">return</span><span class="f">;</span>
<a name="152" /><span class="False">     152:</span>     <span class="b">__vma_adjust_trans_huge</span><span class="f">(</span><span class="b">vma</span><span class="f">,</span> <span class="b">start</span><span class="f">,</span> <span class="b">end</span><span class="f">,</span> <span class="b">adjust_next</span><span class="f">)</span><span class="f">;</span>
<a name="153" /><span class="False">     153:</span> <span class="f">}</span>
<a name="154" /><span class="False">     154:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <a href="cpu.c_macros_noref.html#_aHBhZ2VfbnJfcGFnZXNfMA__"><span class="b">hpage_nr_pages</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">page</span><span class="f">)</span>
<a name="155" /><span class="False">     155:</span> <span class="f">{</span>
<a name="156" /><span class="False">     156:</span>     <span class="m">if</span> <span class="f">(</span><a href="cpu.c_macros_ref.html#_dW5saWtlbHlfMA__"><span class="b">unlikely</span></a><span class="f">(</span><span class="b">PageTransHuge</span><span class="f">(</span><span class="b">page</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="157" /><span class="False">     157:</span>         <span class="m">return</span> <a href="cpu.c_macros_noref.html#_SFBBR0VfUE1EX05SXzA_"><span class="b">HPAGE_PMD_NR</span></a><span class="f">;</span>
<a name="158" /><span class="False">     158:</span>     <span class="m">return</span> <span class="c">1</span><span class="f">;</span>
<a name="159" /><span class="False">     159:</span> <span class="f">}</span>
<a name="160" /><span class="False">     160:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><a href="cpu.c_macros_noref.html#_Y29tcG91bmRfdHJhbnNfaGVhZF8w"><span class="b">compound_trans_head</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">page</span><span class="f">)</span>
<a name="161" /><span class="False">     161:</span> <span class="f">{</span>
<a name="162" /><span class="False">     162:</span>     <span class="m">if</span> <span class="f">(</span><span class="b">PageTail</span><span class="f">(</span><span class="b">page</span><span class="f">)</span><span class="f">)</span> <span class="f">{</span>
<a name="163" /><span class="False">     163:</span>         <span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">head</span><span class="f">;</span>
<a name="164" /><span class="False">     164:</span>         <span class="b">head</span> <span class="f">=</span> <span class="b">page</span><span class="f">-&gt;</span><span class="b">first_page</span><span class="f">;</span>
<a name="165" /><span class="False">     165:</span>         <a href="cpu.c_macros_ref.html#_c21wX3JtYl8w"><span class="b">smp_rmb</span></a><span class="f">(</span><span class="f">)</span><span class="f">;</span>
<a name="166" /><span class="False">     166:</span>         <span class="k">/*</span>
<a name="167" /><span class="False">     167:</span> <span class="k">         * head may be a dangling pointer.</span>
<a name="168" /><span class="False">     168:</span> <span class="k">         * __split_huge_page_refcount clears PageTail before</span>
<a name="169" /><span class="False">     169:</span> <span class="k">         * overwriting first_page, so if PageTail is still</span>
<a name="170" /><span class="False">     170:</span> <span class="k">         * there it means the head pointer isn&apos;t dangling.</span>
<a name="171" /><span class="False">     171:</span> <span class="k">         */</span>
<a name="172" /><span class="False">     172:</span>         <span class="m">if</span> <span class="f">(</span><span class="b">PageTail</span><span class="f">(</span><span class="b">page</span><span class="f">)</span><span class="f">)</span>
<a name="173" /><span class="False">     173:</span>             <span class="m">return</span> <span class="b">head</span><span class="f">;</span>
<a name="174" /><span class="False">     174:</span>     <span class="f">}</span>
<a name="175" /><span class="False">     175:</span>     <span class="m">return</span> <span class="b">page</span><span class="f">;</span>
<a name="176" /><span class="False">     176:</span> <span class="f">}</span>
<a name="177" /><span class="False">     177:</span> 
<a name="178" /><span class="False">     178:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">do_huge_pmd_numa_page</span><span class="f">(</span><span class="m">struct</span> <span class="b">mm_struct</span> <span class="f">*</span><span class="b">mm</span><span class="f">,</span> <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="179" /><span class="False">     179:</span>                 <span class="m">unsigned</span> <span class="m">long</span> <span class="b">addr</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="b">pmd</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmdp</span><span class="f">)</span><span class="f">;</span>
<a name="180" /><span class="False">     180:</span> 
<a name="181" /><span class="True">     181:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* CONFIG_TRANSPARENT_HUGEPAGE */</span>
<a name="182" /><span class="True">     182:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SFBBR0VfUE1EX1NISUZUXzA_"><span class="b">HPAGE_PMD_SHIFT</span></a> <span class="f">(</span><span class="f">{</span> <a href="cpu.c_macros_noref.html#_QlVJTERfQlVHXzA_"><span class="b">BUILD_BUG</span></a><span class="f">(</span><span class="f">)</span><span class="f">;</span> <span class="c">0</span><span class="f">;</span> <span class="f">}</span><span class="f">)</span>
<a name="183" /><span class="True">     183:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SFBBR0VfUE1EX01BU0tfMA__"><span class="b">HPAGE_PMD_MASK</span></a> <span class="f">(</span><span class="f">{</span> <a href="cpu.c_macros_noref.html#_QlVJTERfQlVHXzA_"><span class="b">BUILD_BUG</span></a><span class="f">(</span><span class="f">)</span><span class="f">;</span> <span class="c">0</span><span class="f">;</span> <span class="f">}</span><span class="f">)</span>
<a name="184" /><span class="True">     184:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_SFBBR0VfUE1EX1NJWkVfMA__"><span class="b">HPAGE_PMD_SIZE</span></a> <span class="f">(</span><span class="f">{</span> <a href="cpu.c_macros_noref.html#_QlVJTERfQlVHXzA_"><span class="b">BUILD_BUG</span></a><span class="f">(</span><span class="f">)</span><span class="f">;</span> <span class="c">0</span><span class="f">;</span> <span class="f">}</span><span class="f">)</span>
<a name="185" /><span class="True">     185:</span> 
<a name="186" /><span class="True">     186:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_aHBhZ2VfbnJfcGFnZXNfMA__"><span class="b">hpage_nr_pages</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="c">1</span>
<a name="187" /><span class="True">     187:</span> 
<a name="188" /><span class="True">     188:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_dHJhbnNwYXJlbnRfaHVnZXBhZ2VfZW5hYmxlZF8w"><span class="b">transparent_hugepage_enabled</span></a><span class="f">(</span><span class="b">__vma</span><span class="f">)</span> <span class="c">0</span>
<a name="189" /><span class="True">     189:</span> 
<a name="190" /><span class="True">     190:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_dHJhbnNwYXJlbnRfaHVnZXBhZ2VfZmxhZ3NfMA__"><span class="b">transparent_hugepage_flags</span></a> <span class="c">0UL</span>
<a name="191" /><span class="True">     191:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span>
<a name="192" /><span class="True">     192:</span> <span class="b">split_huge_page_to_list</span><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">page</span><span class="f">,</span> <span class="m">struct</span> <span class="b">list_head</span> <span class="f">*</span><span class="b">list</span><span class="f">)</span>
<a name="193" /><span class="True">     193:</span> <span class="f">{</span>
<a name="194" /><span class="True">     194:</span>     <span class="m">return</span> <span class="c">0</span><span class="f">;</span>
<a name="195" /><span class="True">     195:</span> <span class="f">}</span>
<a name="196" /><span class="True">     196:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <span class="b">split_huge_page</span><span class="f">(</span><span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">page</span><span class="f">)</span>
<a name="197" /><span class="True">     197:</span> <span class="f">{</span>
<a name="198" /><span class="True">     198:</span>     <span class="m">return</span> <span class="c">0</span><span class="f">;</span>
<a name="199" /><span class="True">     199:</span> <span class="f">}</span>
<a name="200" /><span class="True">     200:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_c3BsaXRfaHVnZV9wYWdlX3BtZF8w"><span class="b">split_huge_page_pmd</span></a><span class="f">(</span><span class="b">__vma</span><span class="f">,</span> <span class="b">__address</span><span class="f">,</span> <a href="cpu.c_macros_ref.html#_X19wbWRfMA__"><span class="b">__pmd</span></a><span class="f">)</span>    \
<a name="201" /><span class="True">     201:</span>     <span class="m">do</span> <span class="f">{</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="202" /><span class="True">     202:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_d2FpdF9zcGxpdF9odWdlX3BhZ2VfMA__"><span class="b">wait_split_huge_page</span></a><span class="f">(</span><span class="b">__anon_vma</span><span class="f">,</span> <a href="cpu.c_macros_ref.html#_X19wbWRfMA__"><span class="b">__pmd</span></a><span class="f">)</span>    \
<a name="203" /><span class="True">     203:</span>     <span class="m">do</span> <span class="f">{</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="204" /><span class="True">     204:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_c3BsaXRfaHVnZV9wYWdlX3BtZF9tbV8w"><span class="b">split_huge_page_pmd_mm</span></a><span class="f">(</span><span class="b">__mm</span><span class="f">,</span> <span class="b">__address</span><span class="f">,</span> <a href="cpu.c_macros_ref.html#_X19wbWRfMA__"><span class="b">__pmd</span></a><span class="f">)</span>    \
<a name="205" /><span class="True">     205:</span>     <span class="m">do</span> <span class="f">{</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="206" /><span class="True">     206:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Y29tcG91bmRfdHJhbnNfaGVhZF8w"><span class="b">compound_trans_head</span></a><span class="f">(</span><span class="b">page</span><span class="f">)</span> <span class="b">compound_head</span><span class="f">(</span><span class="b">page</span><span class="f">)</span>
<a name="207" /><span class="True">     207:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <span class="b">hugepage_madvise</span><span class="f">(</span><span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="208" /><span class="True">     208:</span>                    <span class="m">unsigned</span> <span class="m">long</span> <span class="f">*</span><span class="b">vm_flags</span><span class="f">,</span> <span class="m">int</span> <span class="b">advice</span><span class="f">)</span>
<a name="209" /><span class="True">     209:</span> <span class="f">{</span>
<a name="210" /><span class="True">     210:</span>     <a href="cpu.c_macros_ref.html#_QlVHXzA_"><span class="b">BUG</span></a><span class="f">(</span><span class="f">)</span><span class="f">;</span>
<a name="211" /><span class="True">     211:</span>     <span class="m">return</span> <span class="c">0</span><span class="f">;</span>
<a name="212" /><span class="True">     212:</span> <span class="f">}</span>
<a name="213" /><span class="True">     213:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">vma_adjust_trans_huge</span><span class="f">(</span><span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="214" /><span class="True">     214:</span>                      <span class="m">unsigned</span> <span class="m">long</span> <span class="b">start</span><span class="f">,</span>
<a name="215" /><span class="True">     215:</span>                      <span class="m">unsigned</span> <span class="m">long</span> <span class="b">end</span><span class="f">,</span>
<a name="216" /><span class="True">     216:</span>                      <span class="m">long</span> <span class="b">adjust_next</span><span class="f">)</span>
<a name="217" /><span class="True">     217:</span> <span class="f">{</span>
<a name="218" /><span class="True">     218:</span> <span class="f">}</span>
<a name="219" /><span class="True">     219:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <span class="b">pmd_trans_huge_lock</span><span class="f">(</span><span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmd</span><span class="f">,</span> <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="220" /><span class="True">     220:</span>         <span class="b">spinlock_t</span> <span class="f">*</span><span class="f">*</span><span class="b">ptl</span><span class="f">)</span>
<a name="221" /><span class="True">     221:</span> <span class="f">{</span>
<a name="222" /><span class="True">     222:</span>     <span class="m">return</span> <span class="c">0</span><span class="f">;</span>
<a name="223" /><span class="True">     223:</span> <span class="f">}</span>
<a name="224" /><span class="True">     224:</span> 
<a name="225" /><span class="True">     225:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <span class="b">do_huge_pmd_numa_page</span><span class="f">(</span><span class="m">struct</span> <span class="b">mm_struct</span> <span class="f">*</span><span class="b">mm</span><span class="f">,</span> <span class="m">struct</span> <span class="b">vm_area_struct</span> <span class="f">*</span><span class="b">vma</span><span class="f">,</span>
<a name="226" /><span class="True">     226:</span>                     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">addr</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="b">pmd</span><span class="f">,</span> <span class="b">pmd_t</span> <span class="f">*</span><span class="b">pmdp</span><span class="f">)</span>
<a name="227" /><span class="True">     227:</span> <span class="f">{</span>
<a name="228" /><span class="True">     228:</span>     <span class="m">return</span> <span class="c">0</span><span class="f">;</span>
<a name="229" /><span class="True">     229:</span> <span class="f">}</span>
<a name="230" /><span class="True">     230:</span> 
<a name="231" /><span class="True">     231:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* CONFIG_TRANSPARENT_HUGEPAGE */</span>
<a name="232" /><span class="True">     232:</span> 
<a name="233" /><span class="True">     233:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _LINUX_HUGE_MM_H */</span>
<a name="234" /><span class="True">     234:</span> </pre>
  </body>
</html>
